//
//  NSString+Needs.h
//  CToolBox
//
//  Created by crj on 16/8/16.
//  Copyright © 2016年 oyf. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Needs)


/**
 生成 NSMutableAttributedString
 */
+ (NSMutableAttributedString *)attributedStringWithText:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor;

/**
 *  将字符串中指定子字符串设为指定颜色
 *
 *  @param subStr subStr
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setSubStringAtColor:(UIColor *)color subStr:(NSString *)subStr;

/**
 *  将字符串中指定数字设为灰色
 *
 *  @param number num
 *
 *  @return NSMutableAttributedString
 */

- (NSMutableAttributedString *)setNumberColorToGrayWithNumber:(long)number;


/**
 *  将指定字符串设为灰色
 *
 *  @param str str
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setStrColorToGrayWithStr:(NSString *)str;

/**
 *  将字符串中指定数字设为黄色
 *
 *  @param number num
 *
 *  @return NSMutableAttributedString
 */

- (NSMutableAttributedString *)setNumberColorToYellowWithNumber:(long)number;

/**
 *  将字符串中指定数字(浮点型)设为黄色
 *
 *  @param number num
 *
 *  @return NSMutableAttributedString
 */

- (NSMutableAttributedString *)setNumberColorToYellowWithFloatNumber:(float)number;

/**
 *  设置字符串中指定字体字体大小
 *
 *  @param font 字体大小
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setStrFont:(CGFloat)font;

/**
 *  将字符串中指定数字设为橘色
 *
 *  @param number num
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setNumberColorToOrangeWithNumber:(long)number;


/**
 *  将字符串中指定数字设为绿色
 *
 *  @param number num
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setNumberColorToGreenWithNumber:(long)number;

/**
 *  将指定子字符串设为橘色
 *
 *  @param subString subString
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)attributedStringWithSubString:(NSString *)subString;

/**
 *  将指定字符串设为蓝色
 *
 *  @param str str
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)setStrColorToBlueWithStr:(NSString *)str;


/**
 *  设置行间距
 *
 *  @param lineSpace 行间距
 *
 *  @return NSAttributedString
 */
- (NSMutableAttributedString *)attributedStringWithLineSpace:(CGFloat)lineSpace;

- (NSMutableAttributedString *)attributedStringWithLineSpace:(CGFloat)lineSpace textAlignment:(NSTextAlignment)alignment;

/**
 *  在string末尾添加 icon字体 并设置行间距
 *
 *  @param name     icon字体对应名称
 *  @param color    icon字体颜色
 *  @param space    行间距
 *  @param fontSize icon字体大小
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)attributedWithIconName:(NSString *)name
                                                color:(UIColor *)color
                                                space:(CGFloat)space
                                             fontSize:(CGFloat)fontSize;

/**
 *  string中的指定subStr 设定为指定字体
 *
 *  @param iconCode    icon 值
 *  @param fontSize    icon 大小
 *  @param stringColor string 颜色
 *  @param iconColor   icon 颜色
 *
 *  @return NSMutableAttributedString
 */
- (NSMutableAttributedString *)attributedStringWithIconCode:(NSString *)iconCode
                                                   fontSize:(CGFloat)fontSize
                                               iconFontSize:(CGFloat)iconFontSize
                                                stringColor:(UIColor *)stringColor
                                                  iconColor:(UIColor *)iconColor;

- (NSMutableAttributedString *)attributedStringWithIconCode1:(NSString *)iconCode fontSize:(CGFloat)fontSize iconFontSize:(CGFloat)iconFontSize stringColor:(UIColor *)stringColor iconColor:(UIColor *)iconColor;


/**
 *  将字符串转换成指定显示样式
 *
 *  @param number number
 *
 *  1、次数显示1万以下的直接显示数字，如8998次；
 *  2、次数在1万--10万之间的，显示单位为万，显示到小数点后一位，如1.4万次；
 *  3、次数在10万--1亿之间的，显示单位为万，显示为整数，如11万次、8888万次；
 *  4、次数在1亿--10亿之间的，显示单位为亿，显示到小数点后一位，如1.8亿次；
 *  5、次数在10亿以上的，显示单位为亿，显示为整数，如26亿次、500亿次
 *
 *  @return NSString
 */
+ (NSString *)setShowStyleWithNumber:(long)number;

+ (NSString *)setShowOnlineCountWithNumber:(long)number;
/**
 *  转编码网络获取的iconFont值
 *
 *
 *  @return NSString
 */
- (NSString *)iconValueEncoding;


/**
 特殊字符替换  eg./n->$n  /r->$r
 */
- (NSString *)specialCharactersEncode;


/**
 特殊字符解码 eg.$n->/n  $r->/r
 */
- (NSString *)specialCharactersDecode;



@end
